package com.qaml.mes.device.domain.service;

import com.qaml.mes.device.api.EqpAuxiliaryStuffService;
import com.qaml.mes.device.dao.EqpAuxiliaryStuffDO;
import com.qaml.mes.device.repository.EqpAuxiliaryStuffRepository;
import com.qaml.mes.device.domain.convert.EqpAuxiliaryStuffConvert;
import com.qaml.mes.device.vo.eqp.EqpAuxiliaryStuffVO;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;

/**
 * <p>
 * 设备附属物品表 服务实现类
 * </p>
 *
 * @author leikai
 * @since 2024-02-27
 */
@Service
public class EqpAuxiliaryStuffServiceImpl implements EqpAuxiliaryStuffService {

    @Resource
    EqpAuxiliaryStuffRepository eqpAuxiliaryStuffRepository;

    /**
     * 根据设备id查询附属物品
     *
     * @param id
     * @return
     */
    @Override
    public List<EqpAuxiliaryStuffVO> getEqpAuxiliaryStuffVOList(String id) {
        List<EqpAuxiliaryStuffDO> eqpAuxiliaryStuffDOS = eqpAuxiliaryStuffRepository.getByEqpId(id);
        return EqpAuxiliaryStuffConvert.INSTANCE.toVOList(eqpAuxiliaryStuffDOS);
    }

    /**
     * 删除设备附属物品-根据设备id   逻辑删除
     *
     * @param eqpId
     */
    @Override
    public void deleteByEqpId(String eqpId) {

        // 1,获取设备信息
        List<EqpAuxiliaryStuffDO> eqpAuxiliaryStuffDOList = eqpAuxiliaryStuffRepository.getByEqpId(eqpId);
        // 2，删除设备附属物品
        // 获取附属设备Ids
        List<String> ids = eqpAuxiliaryStuffDOList.stream().map(EqpAuxiliaryStuffDO::getId).collect(Collectors.toList());
        // 批量删除
        // 批量修改，设置isDeleted=1
        eqpAuxiliaryStuffRepository.updateEqpAuxiliaryStuffByIds(ids);

    }


}
